package br.com.android.pubclub.web;

import java.util.ArrayList;

import android.app.ListActivity;
import android.app.ProgressDialog;
import android.content.Context;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.text.Editable;
import android.text.TextWatcher;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
import br.com.android.pubclub.R;
import br.com.android.pubclub.basicas.Amizade;
import br.com.android.pubclub.dados.ThreadAmizadesAcoes;
import br.com.android.pubclub.negocios.ItemClicado;

public class SolicitacoesPendentes extends ListActivity implements ItemClicado  {

	ProgressDialog pd;
	String parametro;

	EditText edtBusca;
	TextView txtMostrarTodos;
	ArrayList<Amizade> listaDeAmizades;
	AmizadesAdapter adaptador;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		setContentView(R.layout.tela_de_busca_generica);
		setTitle(R.string.title_SolicitacoesPendentes);

		listaDeAmizades = (ArrayList<Amizade>) getIntent()
				.getSerializableExtra("listaDeAmizades");

		edtBusca = (EditText) findViewById(R.id.edtBusca);

		edtBusca.addTextChangedListener(new TextWatcher() {

			@Override
			public void onTextChanged(CharSequence s, int start, int before,
					int count) {
				// TODO Auto-generated method stub

			}

			@Override
			public void beforeTextChanged(CharSequence s, int start, int count,
					int after) {
				// TODO Auto-generated method stub

			}

			@Override
			public void afterTextChanged(Editable s) {
				// TODO Auto-generated method stub

				ArrayList<Amizade> listaAmizadesBusca = new ArrayList<Amizade>();

				String nomeBusca = edtBusca.getText().toString().toLowerCase()
						.trim();

				for (Amizade amz : listaDeAmizades) {

					if (amz.getAmigo().getNome().toLowerCase().trim()
							.contains(nomeBusca)) {

						listaAmizadesBusca.add(amz);

					}

				}

				adaptador = new AmizadesAdapter(listaAmizadesBusca,
						Amigos.SOLICITACOES_PENDENTES_RECEBIDAS);
				setListAdapter(adaptador);

			}
		});
  
		adaptador = new AmizadesAdapter(listaDeAmizades,
				Amigos.SOLICITACOES_PENDENTES_RECEBIDAS);
		setListAdapter(adaptador);

	}

	public void refresh(View v) {

		Handler refreshandler = new Handler() {

			@Override
			public void handleMessage(Message msg) {
				// TODO Auto-generated method stub
				switch (msg.what) {

				case ThreadAmizadesAcoes.EXECUTANDO:

					pd = new ProgressDialog(SolicitacoesPendentes.this);

					pd.setMessage("Refreshing...");
					pd.show();

					break;

				case ThreadAmizadesAcoes.EXIBINDO:

					Bundle bundle = (Bundle) msg.getData();
					listaDeAmizades = (ArrayList<Amizade>) bundle
							.getSerializable("listaDeAmizades");
					setListAdapter(new AmizadesAdapter(listaDeAmizades,
							Amigos.SOLICITACOES_PENDENTES_RECEBIDAS));
					
					break;

				case ThreadAmizadesAcoes.CONCLUIDO:

					pd.dismiss();
					break;
				}
			}
		};

		ThreadAmizadesAcoes amzAc = new ThreadAmizadesAcoes(refreshandler,
				Amigos.SOLICITACOES_PENDENTES_RECEBIDAS, null);
		amzAc.start();

	}
	
	@Override
	public void itemFoiClicado(int position, Context ctx) {

		
		adaptador.getListaDeAmizades().remove(position);
		adaptador.notifyDataSetChanged();

	}

}
